<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="generator" content="pandoc" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <title>Release Notes for STM32CubeWB0 HAL Drivers Package</title>
  <style type="text/css">
      code{white-space: pre-wrap;}
      span.smallcaps{font-variant: small-caps;}
      span.underline{text-decoration: underline;}
      div.column{display: inline-block; vertical-align: top; width: 50%;}
  </style>
  <link rel="stylesheet" href="_htmresc/mini-st_2020.css" />
  <!--[if lt IE 9]>
    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
  <![endif]-->
  <link rel="icon" type="image/x-icon" href="_htmresc/favicon.png" />
</head>
<body>
<div class="row">
<div class="col-sm-12 col-lg-4">
<center>
<h1 id="release-notes-for">Release Notes for</h1>
<h1 id="stm32wb0x-hal-drivers"><mark>STM32WB0x HAL Drivers</mark></h1>
<p>Copyright © 2024 STMicroelectronics</p>
<a href="https://www.st.com" class="logo"><img src="_htmresc/st_logo_2020.png" alt="ST logo" /></a>
</center>
<h1 id="purpose">Purpose</h1>
<p>The STM32Cube HAL and LL, an STM32 abstraction layer embedded software, ensure maximized portability across STM32 portfolio.</p>
<p>The portable APIs layer provides a generic, multi instanced and simple set of APIs to interact with the upper layer (application, libraries and stacks). It is composed of native and extended APIs set. It is directly built around a generic architecture and allows the build-upon layers, like the middleware layer, to implement its functions without knowing in-depth the used STM32 device. This improves the library code reusability and guarantees an easy portability on other devices and STM32 families.</p>
<p>The Low Layer (LL) drivers are part of the STM32Cube firmware HAL that provides a basic set of optimized and one shot services. The Low layer drivers, contrary to the HAL ones are not fully portable across the STM32 families; the availability of some functions depends on the physical availability of the relative features on the product. The Low Layer (LL) drivers are designed to offer the following features:</p>
<ul>
<li>New set of inline functions for direct and atomic register access</li>
<li>One-shot operations that can be used by the HAL drivers or from application level</li>
<li>Full independence from HAL and standalone usage (without HAL drivers)</li>
<li>Full features coverage of all the supported peripherals</li>
</ul>
</div>
<div class="col-sm-12 col-lg-8">
<h1 id="update-history">Update History</h1>
<div class="collapse">
<input type="checkbox" id="collapse-section140" checked aria-hidden="true"> <label for="collapse-section140" checked aria-hidden="true"><strong>V1.4.0 / 29-October-2025</strong></label>
<div>
<h2 id="main-changes">Main Changes</h2>
<ul>
<li>Release of <strong>STM32CubeWB0</strong> Firmware package supporting <strong>STM32WB0x</strong> devices</li>
</ul>
<h2 id="contents">Contents</h2>
<h3 id="hal-drivers-updates"><strong>HAL Drivers</strong> updates</h3>
<ul>
<li><strong>HAL Radio Timer</strong> driver
<ul>
<li>Optimizations of the HAL_RADIO_TIMER_SetRadioTimerValue function.</li>
</ul></li>
<li><strong>HAL Radio </strong> driver
<ul>
<li>Added functions related to new RRM Radio interrupt.</li>
</ul></li>
<li><strong>HAL Generic </strong> driver
<ul>
<li>Fixed timer timebase initialization sequence by registering the callback before starting the timer to ensure correct callback handling in FreeRTOS projects</li>
</ul></li>
<li><strong>HAL LPUART </strong> driver
<ul>
<li>Fix transfer count underflow when using polling mode.</li>
</ul></li>
<li><strong>HAL UART </strong> driver
<ul>
<li>Fix transfer count underflow when using polling mode.</li>
</ul></li>
</ul>
<p><br />
</p>
<h2 id="supported-devices-and-boards">Supported Devices and boards</h2>
<ul>
<li>Devices :
<ul>
<li>STM32WB05</li>
<li>STM32WB06</li>
<li>STM32WB07</li>
<li>STM32WB09</li>
</ul></li>
<li>Boards :
<ul>
<li>NUCLEO-WB09KE</li>
<li>NUCLEO-WB07CC</li>
<li>NUCLEO-WB05KZ</li>
</ul></li>
</ul>
<h2 id="backward-compatibility">Backward compatibility</h2>
<ul>
<li>Not applicable</li>
</ul>
<h2 id="known-limitations">Known Limitations</h2>
<ul>
<li>None</li>
</ul>
<h2 id="dependencies">Dependencies</h2>
<ul>
<li>None</li>
</ul>
<h2 id="notes">Notes</h2>
<ul>
<li>None</li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section130" aria-hidden="true"> <label for="collapse-section130" checked aria-hidden="true"><strong>V1.3.0 / 4-June-2025</strong></label>
<div>
<h2 id="main-changes-1">Main Changes</h2>
<ul>
<li>Release of <strong>STM32CubeWB0</strong> Firmware package supporting <strong>STM32WB0x</strong> devices</li>
</ul>
<h2 id="contents-1">Contents</h2>
<h3 id="hal-drivers-updates-1"><strong>HAL Drivers</strong> updates</h3>
<ul>
<li><strong>HAL RCC</strong> driver
<ul>
<li>Added support for <code>RCC_LPUART1_CLKSOURCE_16M</code> with a frequency of 16,000,000</li>
</ul></li>
<li><strong>HAL Radio Timer</strong> driver
<ul>
<li>Fix in HAL_RADIO_TIMER_SetRadioCloseTimeout() for an issue that may happen in case LSE has high jitter.</li>
</ul></li>
</ul>
<h3 id="ll-drivers-updates"><strong>LL Drivers</strong> updates</h3>
<ul>
<li><strong>LL RTC</strong> driver
<ul>
<li>Add LL RCC APIs to manage RTC clock: LL_RCC_EnableRTC(), LL_RCC_DisableRTC() and LL_RCC_IsEnabledRTC()</li>
</ul></li>
</ul>
<p><br />
</p>
<h2 id="supported-devices-and-boards-1">Supported Devices and boards</h2>
<ul>
<li>Devices :
<ul>
<li>STM32WB05</li>
<li>STM32WB06</li>
<li>STM32WB07</li>
<li>STM32WB09</li>
</ul></li>
<li>Boards :
<ul>
<li>NUCLEO-WB09KE</li>
<li>NUCLEO-WB07CC</li>
<li>NUCLEO-WB05KZ</li>
</ul></li>
</ul>
<h2 id="backward-compatibility-1">Backward compatibility</h2>
<ul>
<li>Not applicable</li>
</ul>
<h2 id="known-limitations-1">Known Limitations</h2>
<ul>
<li>None</li>
</ul>
<h2 id="dependencies-1">Dependencies</h2>
<ul>
<li>None</li>
</ul>
<h2 id="notes-1">Notes</h2>
<ul>
<li>None</li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section120"  aria-hidden="true"> <label for="collapse-section120" aria-hidden="true"><strong>V1.2.0 / 05-February-2025</strong></label>
<div>
<h2 id="main-changes-2">Main Changes</h2>
<ul>
<li>Release of <strong>STM32CubeWB0</strong> Firmware package supporting <strong>STM32WB0x</strong> devices</li>
</ul>
<h2 id="contents-2">Contents</h2>
<h3 id="hal-drivers-updates-2"><strong>HAL Drivers</strong> updates</h3>
<ul>
<li><strong>HAL RADIO TIMER</strong> driver
<ul>
<li>Improved performances for the radio activity schedule</li>
</ul></li>
<li><strong>HAL GPIO</strong> driver
<ul>
<li>Managed mask registers manipulation to allow the activation of all interrupts in the HAL_GPIO_Deinit function.</li>
</ul></li>
<li><strong>HAL SMBUS</strong> driver
<ul>
<li>Remove extra parenthesis in c files for driver HAL I2C and SMBUS</li>
</ul></li>
<li><strong>HAL I2S</strong> driver
<ul>
<li>Update HAL I2S driver to remove ‘go to’ instruction</li>
</ul></li>
<li><strong>HAL SPI</strong> driver
<ul>
<li>Remove unaligned access from polling transfer API</li>
<li>Check data size before changing state in reception API</li>
<li>Add const qualifiers to be compliant with MISRA rule 8.13</li>
</ul></li>
<li><strong>HAL UART</strong> driver
<ul>
<li>Provide accurate position in RxEventCallback when ReceptionToIdle mode is used with DMA, when UART and DMA interrupts process is delayed</li>
<li>Correct DMA Rx abort procedure impact on ongoing Tx transfer in polling mode</li>
<li>Correct references to HAL_UARTEx_WakeupCallback and to HAL_UART_WAKEUP_CB_ID define, according to series capabilities</li>
<li>Corrections in CHM/PDF rendering for HAL_UART</li>
</ul></li>
<li><strong>HAL USART</strong> driver
<ul>
<li>Correct wrong comment in HAL_USARTEx_DisableFifoMode() function</li>
<li>Improve the visibility of the SPI function support in HAL USART description</li>
<li>Align prescaler value used by default in USART_GET_DIV_FACTOR macro with RM</li>
</ul></li>
</ul>
<h3 id="ll-drivers-updates-1"><strong>LL Drivers</strong> updates</h3>
<ul>
<li><strong>LL LPUART</strong> driver
<ul>
<li>Add LL LPUART API allowing TX FIFO flush request</li>
</ul></li>
<li><strong>LL USART</strong> driver
<ul>
<li>Solve Coverity out-of-bound memory access warning in use of USART_PRESCALER_TAB array</li>
</ul></li>
</ul>
<p><br />
</p>
<h2 id="supported-devices-and-boards-2">Supported Devices and boards</h2>
<ul>
<li>Devices :
<ul>
<li>STM32WB05</li>
<li>STM32WB06</li>
<li>STM32WB07</li>
<li>STM32WB09</li>
</ul></li>
<li>Boards :
<ul>
<li>NUCLEO-WB09KE</li>
<li>NUCLEO-WB07CC</li>
<li>NUCLEO-WB05KZ</li>
</ul></li>
</ul>
<h2 id="backward-compatibility-2">Backward compatibility</h2>
<ul>
<li>Not applicable</li>
</ul>
<h2 id="known-limitations-2">Known Limitations</h2>
<ul>
<li>None</li>
</ul>
<h2 id="dependencies-2">Dependencies</h2>
<ul>
<li>None</li>
</ul>
<h2 id="notes-2">Notes</h2>
<ul>
<li>None</li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section110" aria-hidden="true"> <label for="collapse-section110" checked aria-hidden="true"><strong>V1.1.0 / 30-October-2024</strong></label>
<div>
<h2 id="main-changes-3">Main Changes</h2>
<ul>
<li>Release of <strong>STM32CubeWB0</strong> Firmware package supporting <strong>STM32WB0x</strong> devices</li>
</ul>
<h2 id="contents-3">Contents</h2>
<h3 id="hal-drivers-updates-3"><strong>HAL Drivers</strong> updates</h3>
<ul>
<li><strong>HAL ADC</strong> driver
<ul>
<li>Correct function listed in the top-level comment of file hal_adc.c : paragraph Deinitialization of ADC.</li>
</ul></li>
<li><strong>HAL FLASH</strong> driver
<ul>
<li>Add LL_FLASH_FLAG Definition.</li>
</ul></li>
</ul>
<p><br />
</p>
<h3 id="ll-drivers-updates-2"><strong>LL Drivers</strong> updates</h3>
<ul>
<li><strong>LL ADC</strong> driver
<ul>
<li>Remove LL_ADC_CHANNEL_TEMPSENSOR/VBAT from parameter list of LL_ADC_Get/SetChannelVoltageRange().</li>
</ul></li>
<li><strong>LL RCC</strong> driver
<ul>
<li>Involves reading flags from the mirrored address instead of the register address.</li>
</ul></li>
<li><strong>LL RNG</strong> driver
<ul>
<li>Remove the BP_POSTP bit of the RNG_CR from CMSIS, is reserved for internal testing only.</li>
<li>Add LL_RNG functions to acknowledge WB09 RNG interrupts.</li>
</ul></li>
<li><strong>LL SYSTEM</strong> driver
<ul>
<li>Add LL_FLASH_FLAG Definition.</li>
</ul></li>
<li><strong>LL ADC</strong> driver
<ul>
<li>Fix incorrect values returned by LL_UTILS_GetPackageType() function due to invalid mask.</li>
</ul></li>
</ul>
<h2 id="supported-devices-and-boards-3">Supported Devices and boards</h2>
<ul>
<li>Devices :
<ul>
<li>STM32WB05</li>
<li>STM32WB06</li>
<li>STM32WB07</li>
<li>STM32WB09</li>
</ul></li>
<li>Boards :
<ul>
<li>NUCLEO-WB09KE</li>
<li>NUCLEO-WB07CC</li>
<li>NUCLEO-WB05KZ</li>
</ul></li>
</ul>
<h2 id="backward-compatibility-3">Backward compatibility</h2>
<ul>
<li>Not applicable</li>
</ul>
<h2 id="known-limitations-3">Known Limitations</h2>
<ul>
<li>None</li>
</ul>
<h2 id="dependencies-3">Dependencies</h2>
<ul>
<li>None</li>
</ul>
<h2 id="notes-3">Notes</h2>
<ul>
<li>None</li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section100" aria-hidden="true"> <label for="collapse-section100" checked aria-hidden="true"><strong>V1.0.0 / 05-June-2024</strong></label>
<div>
<h2 id="main-changes-4">Main Changes</h2>
<ul>
<li>First release of <strong>STM32CubeWB0</strong> Firmware package supporting <strong>STM32WB0x</strong> devices</li>
</ul>
<h2 id="contents-4">Contents</h2>
<h3 id="first-release-of-halll-drivers-for-stm32wb0x-series">First Release of <strong>HAL/LL Drivers</strong> for <strong>STM32WB0x</strong> series</h3>
<ul>
<li><strong>HAL/LL Drivers</strong> are available for all peripherals:
<ul>
<li><p><strong>HAL</strong>: ADC, CORTEX, CRC, CRS, DMA, FLASH, GPIO, I2C, I2S, IRDA, IWDG, PKA, PWR, RADIO, RCC, RNG, RTC, SMARTCARD, SMBUS, SPI, TIM, UART, USART</p></li>
<li><p><strong>LL</strong>: ADC, CRC, DMA, GPIO, I2C, LPUART, PKA, PWR, RCC, RNG, RTC, SPI, TIM, USART, UTILS</p></li>
</ul></li>
</ul>
<h2 id="supported-devices-and-boards-4">Supported Devices and boards</h2>
<ul>
<li>Devices :
<ul>
<li>STM32WB05</li>
<li>STM32WB06</li>
<li>STM32WB07</li>
<li>STM32WB09</li>
</ul></li>
<li>Boards :
<ul>
<li>NUCLEO-WB09KE</li>
<li>NUCLEO-WB07CC</li>
<li>NUCLEO-WB05KZ</li>
</ul></li>
</ul>
<h2 id="backward-compatibility-4">Backward compatibility</h2>
<ul>
<li>Not applicable</li>
</ul>
<h2 id="known-limitations-4">Known Limitations</h2>
<ul>
<li>None</li>
</ul>
<h2 id="dependencies-4">Dependencies</h2>
<ul>
<li>None</li>
</ul>
<h2 id="notes-4">Notes</h2>
<ul>
<li>None</li>
</ul>
</div>
</div>
</div>
</div>
<footer class="sticky">
<div class="columns">
<div class="column" style="width:95%;">
<p>For complete documentation on STM32 Microcontrollers </mark>, visit: <span style="font-color: blue;"><a href="http://www.st.com/stm32">www.st.com/stm32</a></span></p>
<p><em>This release note uses up to date web standards and, for this reason, should not be opened with Internet Explorer but preferably with popular browsers such as Google Chrome, Mozilla Firefox, Opera or Microsoft Edge.</em></p>
</div><div class="column" style="width:5%;">
<p><abbr title="Based on template cx566953 version 2.0">Info</abbr></p>
</div>
</div>
</footer>
</body>
</html>
